/**
 * jims
 */
package com.jims.master.modules.csm.entity;

import com.jims.master.common.persistence.DataEntity;
import com.jims.master.modules.csm.entity.ExpNameDict;
import com.jims.master.modules.csm.entity.ExpPrice;
import com.jims.master.modules.csm.entity.ExpStock;
import org.dozer.inject.Inject;
import org.hibernate.validator.constraints.Length;

import java.beans.Transient;
import java.util.Date;
import java.util.List;

/**
 * 消耗品采购计划Entity
 * @author DT
 * @version 2017-03-22
 */
public class ExpBuyPlan extends DataEntity<ExpBuyPlan> {

    private static final long serialVersionUID = 1L;
    private String infoId;			//消耗品信息ID
    private String purchaseOrder;		// 采购序号
    private String purchaseNumber;//采购单号
    private String storageDept;//库存单位
    private String expCode;		// 消耗品编码
    private String expName;		// 消耗品名称
    private String vedorName;		// 生产厂商
    private String supplierName;		// 采购供应商
    private String packageSpec;		// 规格
    private String packageUnit;		// 单位
    private String buyQuantity;		// 采购数量
    private String purchaseAmount;		// 采购金额
    private String buyer;		// 采购员
    private String expStyle;		// 类别
    private Date startDate;    //科室申请起始时间
    private Date stopDate;     //科室申请结束时间
    private String outFlag;    //发放标志(0,未发;1,已发)
    private String importMasterId;  //采购入库主记录ID

    private Double totalMoney;   //合计

    private ExpNameDict expNameDict;   //消耗品名称字典
    private ExpPrice expPrice;  //消耗品价格 --显示消耗品售价
    private ExpStock expStock;   //库存表 --显示库存
    private Double monthUsed;    //月消耗量
    private String minUnit;
    private String batchNo;    //消耗品采购入库所需批号
    private String supplierId;
    private ExpProvideApplication expProvideApplication;  //消耗品申请
    List<ExpBuyPlan> expBuyPlanList;
    String idxIndex;  //下标

    @Transient
    public String getIdxIndex() {
        return idxIndex;
    }

    public void setIdxIndex(String idxIndex) {
        this.idxIndex = idxIndex;
    }

    public List<ExpBuyPlan> getExpBuyPlanList() {
        return expBuyPlanList;
    }

    public void setExpBuyPlanList(List<ExpBuyPlan> expBuyPlanList) {
        this.expBuyPlanList = expBuyPlanList;
    }

    @Transient
    public String getPurchaseNumber() {
        return purchaseNumber;
    }
    @Transient
    public void setPurchaseNumber(String purchaseNumber) {
        this.purchaseNumber = purchaseNumber;
    }

    public String getStorageDept() {
        return storageDept;
    }

    public void setStorageDept(String storageDept) {
        this.storageDept = storageDept;
    }

    public String getInfoId() {
        return infoId;
    }

    public void setInfoId(String infoId) {
        this.infoId = infoId;
    }
    public ExpBuyPlan() {
        super();
    }

    public ExpBuyPlan(String id){
        super(id);
    }

    @Length(min=1, max=32, message="采购序号长度必须介于 1 和 32 之间")
    public String getPurchaseOrder() {
        return purchaseOrder;
    }

    public void setPurchaseOrder(String purchaseOrder) {
        this.purchaseOrder = purchaseOrder;
    }

    @Length(min=1, max=32, message="消耗品编码长度必须介于 1 和 32 之间")
    public String getExpCode() {
        return expCode;
    }

    public void setExpCode(String expCode) {
        this.expCode = expCode;
    }

    @Length(min=1, max=100, message="消耗品名称长度必须介于 1 和 100 之间")
    public String getExpName() {
        return expName;
    }

    public void setExpName(String expName) {
        this.expName = expName;
    }

    @Length(min=1, max=40, message="生产厂商长度必须介于 1 和 40 之间")
    public String getVedorName() {
        return vedorName;
    }

    public void setVedorName(String vedorName) {
        this.vedorName = vedorName;
    }

    @Length(min=1, max=40, message="采购供应商长度必须介于 1 和 40 之间")
    public String getSupplierName() {
        return supplierName;
    }

    public void setSupplierName(String supplierName) {
        this.supplierName = supplierName;
    }

    @Length(min=1, max=20, message="规格长度必须介于 1 和 20 之间")
    public String getPackageSpec() {
        return packageSpec;
    }

    public void setPackageSpec(String packageSpec) {
        this.packageSpec = packageSpec;
    }

    @Length(min=1, max=8, message="单位长度必须介于 1 和 8 之间")
    public String getPackageUnit() {
        return packageUnit;
    }

    public void setPackageUnit(String packageUnit) {
        this.packageUnit = packageUnit;
    }

    public String getPurchaseAmount() {
        return purchaseAmount;
    }

    public void setPurchaseAmount(String purchaseAmount) {
        this.purchaseAmount = purchaseAmount;
    }

    @Length(min=0, max=20, message="采购员长度必须介于 0 和 20 之间")
    public String getBuyer() {
        return buyer;
    }

    public void setBuyer(String buyer) {
        this.buyer = buyer;
    }

    public ExpNameDict getExpNameDict() {
        return expNameDict;
    }

    public void setExpNameDict(ExpNameDict expNameDict) {
        this.expNameDict = expNameDict;
    }

    public ExpPrice getExpPrice() {
        return expPrice;
    }

    public void setExpPrice(ExpPrice expPrice) {
        this.expPrice = expPrice;
    }

    public ExpStock getExpStock() {
        return expStock;
    }

    public void setExpStock(ExpStock expStock) {
        this.expStock = expStock;
    }

    public Double getMonthUsed() {
        return monthUsed;
    }

    public void setMonthUsed(Double monthUsed) {
        this.monthUsed = monthUsed;
    }

    public String getMinUnit() {
        return minUnit;
    }

    public void setMinUnit(String minUnit) {
        this.minUnit = minUnit;
    }

    public String getBatchNo() {
        return batchNo;
    }

    public void setBatchNo(String batchNo) {
        this.batchNo = batchNo;
    }

    public String getSupplierId() {
        return supplierId;
    }

    public void setSupplierId(String supplierId) {
        this.supplierId = supplierId;
    }

    public String getBuyQuantity() {
        return buyQuantity;
    }

    public void setBuyQuantity(String buyQuantity) {
        this.buyQuantity = buyQuantity;
    }

    public String getExpStyle() {
        return expStyle;
    }

    public void setExpStyle(String expStyle) {
        this.expStyle = expStyle;
    }

    public ExpProvideApplication getExpProvideApplication() {
        return expProvideApplication;
    }

    public void setExpProvideApplication(ExpProvideApplication expProvideApplication) {
        this.expProvideApplication = expProvideApplication;
    }

    public String getImportMasterId() {
        return importMasterId;
    }

    public void setImportMasterId(String importMasterId) {
        this.importMasterId = importMasterId;
    }

    public Date getStartDate() {
        return startDate;
    }

    public void setStartDate(Date startDate) {
        this.startDate = startDate;
    }

    public Date getStopDate() {
        return stopDate;
    }

    public void setStopDate(Date stopDate) {
        this.stopDate = stopDate;
    }

    public String getOutFlag() {
        return outFlag;
    }

    public void setOutFlag(String outFlag) {
        this.outFlag = outFlag;
    }

    public Double getTotalMoney() {
        return totalMoney;
    }

    public void setTotalMoney(Double totalMoney) {
        this.totalMoney = totalMoney;
    }
}